Introspection via Self Debugging

نویسنده

  • Russell Harmon
چکیده

The omnipresent support for introspection in modern programming languages indicates the usefulness of the tool. [2, 3, 8, 9] Unfortunately, C, which is one of the most pervasive programming languages and the foundation of nearly every modern operating system, does not support introspection. I propose to bring introspection to the C language via a novel application of an old tool: the debugger. Debuggers have long had access to the type and naming information which is needed for introspection. On most UNIX platforms, this is accomplished by the debugger reading any DWARF [4] symbols which may be present in the target binary. These symbols can be leveraged to gain the information which is needed to create a full-featured introspection API.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Self-describing Agents

Multi-Agent systems follow a highly abstract programming paradigm. Because of this abstraction level, behaviours of the participants are not always clearly reproducible for humans. In this paper, we present a framework that enables agents to do some introspection and describe themselves. Our approach uses Java annotations and JDI, the Java debugging architecture. Programmers enrich the source c...

متن کامل

ntrospective-SystemC: Reflection and Introspection in System Level Design

Reflection is an increasingly important feature in software systems as evidenced by introduction of datatype reflection abilities in Java, RTTI runtime type information reflection package for C++, and reflection service in .NET environment. Since systems being designed today are supposed to self-configure, self-heal and make a lot more intelligent decisions about itself, including versioning, f...

متن کامل

MPI Debugging with Handle Introspection

The Message Passing Interface, MPI, is the standard programming model for high performance computing clusters. However, debugging applications on large scale clusters is difficult. The widely used Message Queue Dumping interface enables inspection of message queue state but there is no general interface for extracting information from MPI objects such as communicators. A developer can debug the...

متن کامل

System Introspection with Hardware Watchmachines

Unfortunately, current introspection mechanisms usually impose a high performance overhead or are difficult for programmers to use. For example, a 1000x slowdown using Valgrind for application debugging is not uncommon, and the lack of precise instruction counters has complicated research in deterministic multiprocessing [1, 7, 2]. However, with careful hardware support, introspection can be ma...

متن کامل

POSTER: HookLocator: Function Pointer Integrity Check- ing in Kernel Pools via Virtual Machine Introspection

With the introduction of kernel integrity checking mechanisms in modern operating systems, such as PatchGuard on Windows OS, malware developers can no longer easily install stealthy hooks in kernel code and well-known data structures. Instead, they must target other areas of the kernel, such as the heap, which stores a large number of function pointers that are potentially prone to malicious ex...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013